import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QPalette
 
 
class QColorDialogDemo(QWidget):
    def __init__(self):
        super(QColorDialogDemo,self).__init__()
        self.initUI()
 
    def initUI(self):
        self.setWindowTitle('QColorDialogDemo')
        self.resize(400,150)
        layout=QVBoxLayout()
 
        self.colorBtn=QPushButton('设置颜色')
        self.colorBtn.clicked.connect(self.getColor)
        layout.addWidget(self.colorBtn)
 
        self.colorBackBtn = QPushButton('设置背景颜色')
        self.colorBackBtn.clicked.connect(self.getBackColor)
        layout.addWidget(self.colorBackBtn)
 
        self.colorLabel=QLabel('Hello,测试颜色例子')
        layout.addWidget(self.colorLabel)
 
        self.setLayout(layout)
 
    def getColor(self):
        color=QColorDialog.getColor()
        #调色板
        p=QPalette()
        #注意WindowText(这是类属性，常量)的大小写，这是常量，别选错了！！！！
        p.setColor(QPalette.WindowText,color)
        print('QPalette.WindowText =',QPalette.WindowText )
        print('QPalette.Window =',QPalette.Window)
        self.colorLabel.setPalette(p)
    #设置背景颜色
    def getBackColor(self):
        color=QColorDialog.getColor()
        p=QPalette()
        p.setColor(QPalette.Window,color)
        #自动填充背景
        self.colorLabel.setAutoFillBackground(True)
        self.colorLabel.setPalette(p)
 
 
if __name__=='__main__':
    app=QApplication(sys.argv)
    main=QColorDialogDemo()
    main.show()
    sys.exit(app.exec_())
